----------------------------------------------------------------------------- Description ----------------------------------------------------------------------------- PEPTO is designed to shrink C source files. It does a very good job of it and it does it quickly. I have found it very useful for reducing space requirements and decreasing compile times by PEPTOing the system header files. (Windows and PM programmers take note!) PEPTO can also be very useful distributing secure copies of source code. The sender can change the major variable names throughout the file via his favorite editor's search-and-replace function, then PEPTO it. The result is a virtually indecipherable source file which is still compilable! ----------------------------------------------------------------------------- Usage ----------------------------------------------------------------------------- PEPTO is very simple to use. Just enter the file name(s) you wish to compress on the command line. For example: PEPTO STDIO.H WINDOWS.H Two new files will be created, STDIO.PEP and WINDOWS.PEP PEPTO has an option (/C) which you can use if you do not wish lines in the source file to be concatenated. This can be useful if you wish to edit the PEPTOed file or if your compiler barfs out on long lines. If you wish to use this option be sure to enter it first on the command line. As in our previous example, you would enter: PEPTO /C STDIO.H WINDOWS.H ----------------------------------------------------------------------------- Some caveats ----------------------------------------------------------------------------- PEPTO was designed to compress Turbo C source files. Turbo C does not impose a limit on the length of a source line. Other compilers might. Let me know if this is a problem. I can add a command line switch to limit the line length. PEPTO cannot always handle comments which are implemented with #if FALSE. The problem occurs when an open comment (/*), open string ("), or character constant (') appears within the #if...#endif block. Very few people use the #if FALSE technique for creating comment blocks so I don't think this will ever be a problem. Examples: #if 0 This is a comment which will work OK. #endif #if 0 This is a comment which will NOT work /*. #endif Note to Turbo C programmers who use inline assembler: PEPTO understands inline assembler lines which begin with 'asm'. Some programmers prefer to '#define I asm' to save typing. PEPTO cannot understand this and so inline assembler lines will be parsed as regular C lines (which means they will be joined together) and won't assemble properly. This isn't a real problem since this doesn't happen often in include files and if it does, the programmer can change the macro'ed asm to just plain asm before PEPTOing it. If this is not acceptable use the /C option so that pepto will not concatenate source lines. PEPTO will refuse to accept .PEP files as input. ----------------------------------------------------------------------------- And now the begging... ----------------------------------------------------------------------------- Please send your comments and suggestions to me. I created it for my own use (necessity is a mother!) but it is something which can benefit others so I have decided to release it as shareware. If you find PEPTO to be a useful utility please let me know. You may distribute this program as freely as you like but if you use it please take the time to send five dollars to my address below. Please help support my efforts and those of all shareware authors. C source to PEPTO is available for a paltry twenty five dollars plus shipping costs. David Stafford Research and Development 1800 Green Hills Rd. Scotts Valley, CA 95066 You can reach me on CIS at 72411,2670 or MCI mail as DSTAFFORD.